Skip to main content link. Accesskey S
  • Help
  • HCL Logo
  • HCL Notes and Domino Application Development wiki
  • THIS WIKI IS READ-ONLY. Individual names altered for privacy purposes.
  • HCL Forums and Blogs
  • Home
  • Product Documentation
  • Community Articles
  • Learning Center
  • API Documentation
Search
Community Articles > 日本語 - Japanese > XPages Social Enabler で DropBox と連携する方法
  • Share Show Menu▼
  • Subscribe Show Menu▼

Recent articles by this author

JMeter で XPages アプリケーションをテストする、入門編

JMeter を初めて使う方にむけて、Domino アプリケーションや XPages アプリケーションを JMeter でテストをするための手順を最初のステップから解説します。

Eclipse Memory Analyser Tool を使用した、XPages のメモリリークの調査

Java アプリケーションのメモリリークを調査する強力なツールである Eclipse Memory Analyser Tool を使用して、XPages アプリケーションのメモリリークを調査する方法について紹介します。

XSP クライアントサイド Javascript オブジェクト関数

XPages アプリケーション開発の中で利用できる、XSP クライアントサイド Javascript オブジェクト関数について解説します。

Lotus Notes Java クラスのリサイクルとメモリ消費の検証

XPages や Java エージェントなどで Lotus Notes を操作する Lotus Notes Java クラスでは、開発者が明示的にリサイクルをして使用したオブジェクトを開放する必要があります。このリサイクルを適切に行わないことで、Java クラスの

XPages アプリケーションでの「可視(rendered)」プロパティによるパフォーマンス低下への対策

XPages アプリケーション開発で、「可視」設定ので「値の計算」はパフォーマンス低下を招く可能性があります。「可視」評価の Javascript に複雑な処理を実装する必要があるときには、そのスクリプトでパフォーマンスの低
Community articleXPages Social Enabler で DropBox と連携する方法
Added by ~Justin Elwemarynds | Edited by ~Justin Elwemarynds on November 14, 2012 | Version 6
  • Actions Show Menu▼
expanded Abstract
collapsed Abstract
XPages Social Enabler ではさまざまなソーシャルメディアやクラウドサービスをデータソースとして利用し、XPages アプリケーションの中で表示したり、メッセージやコンテンツを投稿するなどの連携を行うことができます。Social Enabler では DropBox と連携するための仕組みを提供しています。この記事では、DropBox に対して XPages Social Enabler を使用するための構成の手順と、DropBox のデータを XPages アプリケーションで表示する簡単なアプリケーションを紹介します。
Tags: social enabler, dropbox
ShowTable of Contents
HideTable of Contents
  • 1 はじめに
  • 2 DropBox を使用するための構成
    • 2.1 DropBox でアプリケーションの登録
    • 2.2 WebSecurityStore.nsf にキーとシークレットの登録
    • 2.3 サンプルアプリケーションで確認する
  • 3 アプリケーション (NSF) の設定
    • 3.1 アプリケーションプロパティの設定
    • 3.2 faces-config.xml の設定
  • 4 アプリケーションの作成
    • 4.1 ファイル情報を取得するための指定値とメソッド

はじめに

XPages Social Enabler ではさまざまなソーシャルメディアやクラウドサービスをデータソースとして利用し、XPages アプリケーションの中で表示したり、メッセージやコンテンツを投稿するなどの連携を行うことができます。Social Enabler では DropBox と連携するための仕組みを提供しています。この記事では、DropBox に対して XPages Social Enabler を使用するための構成の手順と、DropBox のデータを XPages アプリケーションで表示する簡単なアプリケーションを紹介します。

DropBox を使用するための構成

DropBox でアプリケーションの登録

1. https://dropbox.com/developers/apps を開きます。

2. 「Create an app」ボタンを押して新規のアプリケーションを登録します。「Access」には「Full DropBox」を選択します。

3. 作成後、アプリケーションの内容が表示されるので「App key」と「App secret」の値を記録しておきます。

WebSecurityStore.nsf にキーとシークレットの登録

1. http:///websecuritystore.nsf/KeysApplications.xsp を開く

​2. Add Token リンクで以下を設定

Application Id: XPagesSBT
Service Name: Twitter
Consumer Key: <アプリケーション毎に割り振られた文字列>
Consumer Key Type: HMAC-SHA1
Consumer Secret: <アプリケーション毎に割り振られた文字列>
Request Token Uri: https://api.dropbox.com/1/oauth/request_token
Authorization Uri: https://api.dropbox.com/1/oauth/authorize
Access Token Uri: https://api.dropbox.com/1/oauth/access_token

※ この画面での設定方法などは XPages Cheat Sheet のページにある XPages Social Tool リンクの文書に説明があります。

サンプルアプリケーションで確認する

1. 保存後、http:///xpagessbt.nsf を開き、「DropBox」 タブを選択します。

2. Social Enabler によって DropBox との OAuth の認可のプロセスが行われる。Twitter のログイン画面が表示され、その後、アプリケーションから DropBox へのアクセスを許可する画面が表示されます。

アプリケーション (NSF) の設定

アプリケーションプロパティの設定

XPages Social Enabler で DropBox と連携させるアプリケーションの「アプリケーションのプロパティ」を開き、「XPages」タブを選択します。「XPages ライブラリ」セクションで以下の二つのライブラリにチェックを入れます。

  • com.ibm.xsp.extlib.library
  • com.ibm.xsp.extlibx.library

faces-config.xml の設定



XPages Social Enabler で DropBox と連携させるためには、DropBox をデータソースとして使用するための設定を、NSF ファイル内の faces-config.xsl に記載する必要があります。faces-config.xsl ファイルは Domino Designer のアプリケーションナビゲーターで表示されないので、パッケージエクスプローラーなどを開いて表示します。

Social Enablerのサンプル NSF の記載が参考になるが、DropBox を動かすためだけの最低限の設定は以下のようになります。

	<?xml version="1.0" encoding="UTF-8"?>

	<faces-config>

	  <!--

	        Token store physical implementation This store uses an NSF database to store both the access and the consumer tokens.

	    -->

	  <managed-bean>

	    <managed-bean-name>NSFStore</managed-bean-name>

	    <managed-bean-class>com.ibm.xsp.extlib.sbt.security.oauth_10a.store.OAuthNSFTokenStore

	        </managed-bean-class>

	    <managed-bean-scope>application</managed-bean-scope>

	    <managed-property>

	      <property-name>database</property-name>

	      <value>WebSecurityStore.nsf</value>

	    </managed-property>

	  </managed-bean>

	  <!--

	        DropBox

	   -->

	  <managed-bean>

	    <managed-bean-name>dropbox</managed-bean-name>

	    <managed-bean-class>com.ibm.xsp.extlib.sbt.services.client.endpoints.DropboxEndpoint

	        </managed-bean-class>

	    <managed-bean-scope>application</managed-bean-scope>

	    <!-- Endpoint URL -->

	    <managed-property>

	      <property-name>url</property-name>

	      <value>https://api.dropbox.com</value>

	    </managed-property>

	    <managed-property>

	      <property-name>serviceName</property-name>

	      <value>Dropbox</value>

	    </managed-property>

	    <managed-property>

	      <property-name>appId</property-name>

	      <value>XPagesSBT</value>

	    </managed-property>

	    <!--

	            Dropbox REST API version <managed-property> <property-name>apiVersion</property-name> <value>1</value> </managed-property>

	        -->

	    <!-- OAuth parameters -->

	    <managed-property>

	      <property-name>tokenStore</property-name>

	      <value>NSFStore</value>

	    </managed-property>

	  </managed-bean>

	</faces-config>

	

アプリケーションの作成

DropBox のデータを表示する XPages アプリケーションは以下の手順で作成します。

 

1. 適当な名前で新規の XPage を作成します。

 

2. 作成した XPage の beforePageLoad イベントに以下のスクリプトを登録します。

	if(!@Endpoint("dropbox").isAuthenticated()) {

	  @Endpoint("dropbox").authenticate(true);

	 }

	

 

3. XPage のプロパティで「データ」タブを開き、新しいデータソースとして「File Source Data Source」を定義します。「var」プロパティの値は自動的に「fileServiceData1」が設定されるのでそのままにします。


 

作成したデータソースの「serviceType」プロパティで「xe:dropboxFileData」を選択します。

 

4. XPage にビューコントロールを配置し、ダイアログではデータソースの定義は行わずに「後でデータソースを選択」をクリックします。

 

5. 作成したビューコントロールで「ビューの列ヘッダー」に表示させるラベルは適当に指定します。

 

6. 「ビューの列」に DropBoc のファイルエントリの情報を表示する方法は以下の2つあります。

  • 「基本」→「columnName」プロパティに指定した文字列に応じて、ファイルエントリのデータを自動的に表示する。
  • ファイルエントリを示す entry 変数のゲッターメソッドでデータを取得するスクリプトを「データ」→「value」プロパティに指定する。

 

以下の例は、「基本」→「columnName」プロパティの値にに「title」を指定することで、ファイルエントリのタイトルを表示します。

 

以下の例では、ファイルエントリの値を取得するスクリプトを「データ」→「value」プロパティの値の計算に指定して、ファイルのタイトルを表示します。



ファイル情報を取得するための指定値とメソッド

ファイルエントリは、XPages Extension Library のソースで com.ibm.xsp.extlib.sbt.files パッケージの FileEntry クラスとして定義されています。

「columnName」プロパティの値として指定する方法と、ゲッターメソッド使用する方法で得られるデータについて以下にまとめます。

 

    アイテム名
    「columnName」 プロパティの値
    ゲッターメソッド
    説明
    作成者のメールアドレス
    authorEmail
    getAuthorEmail
    作成社名
    authorName
    getAuthorName
    ファイルのバイトサイズ
    getBytes
    ファイルの説明
    description
    getDescription
    ファイル名
    getFile
    フィールド名
    getFileId
    リンク
    href
    getHref
    アイコン
    getIcon
    アイコンのリンク
    getIconHref
    ファイルの MIME タイプ
    getMimeType
    ファイルのパス
    path
    getPath
    プロキシ URL
    getProxyURL
    公開日
    published
    getPublished
    リポジトリ
    getRepository
    ファイルのサイズ
    size
    getSize
    ファイルのタグ
    getTag
    ファイルのタイトル
    title
    getTitle
    識別子
    getUniqueId
    更新日
    updated
    getUpdated
    ユーザー ID
    getUserId
    バージョン
    version
    getVersion
    可視設定
    visibility
    getVisibility
    ディレクトリかどうかの識別
    isDirectory

 

「columnName」プロパティの値として指定する方法で実装した XPages アプリケーションのソースを以下に示します。

	<?xml version="1.0" encoding="UTF-8"?>

	<xp:view xmlns:xp="http://www.ibm.com/xsp/core" xmlns:xe="http://www.ibm.com/xsp/coreex">

	    <xp:this.beforePageLoad><![CDATA[#{javascript:

	if(!@Endpoint("dropbox").isAuthenticated()) {

	    @Endpoint("dropbox").authenticate(true);

	}

	    }]]></xp:this.beforePageLoad>

	    <xp:this.data>

	        <xe:fileServiceData var="fileServiceData1">

	            <xe:this.serviceType>

	                <xe:dropboxFileData></xe:dropboxFileData>

	            </xe:this.serviceType>

	        </xe:fileServiceData>

	    </xp:this.data>

	    <xp:viewPanel rows="30" id="viewPanel2" value="#{fileServiceData1}"

	        var="entry">

	        <xp:this.facets>

	            <xp:pager partialRefresh="true" layout="Previous Group Next"

	                xp:key="headerPager" id="pager1">

	            </xp:pager>

	        </xp:this.facets>

	        <xp:viewColumn columnName="title" id="viewColumn1">

	            <xp:viewColumnHeader id="viewColumnHeader1" value="Title"></xp:viewColumnHeader>

	        </xp:viewColumn>

	    </xp:viewPanel>

	</xp:view>

	

 

ゲッターメソッドを使用して実装した XPages アプリケーションのソースを以下に示します。

	<?xml version="1.0" encoding="UTF-8"?>

	<xp:view xmlns:xp="http://www.ibm.com/xsp/core" xmlns:xe="http://www.ibm.com/xsp/coreex">

	    <xp:this.beforePageLoad><![CDATA[#{javascript:

	if(!@Endpoint("dropbox").isAuthenticated()) {

	    @Endpoint("dropbox").authenticate(true);

	}

	    }]]></xp:this.beforePageLoad>

	    <xp:this.data>

	        <xe:fileServiceData var="fileServiceData1">

	            <xe:this.serviceType>

	                <xe:dropboxFileData></xe:dropboxFileData>

	            </xe:this.serviceType>

	        </xe:fileServiceData>

	    </xp:this.data>

	    <xp:viewPanel rows="30" id="viewPanel1" value="#{fileServiceData1}"

	        var="entry">

	        <xp:this.facets>

	            <xp:pager partialRefresh="true" layout="Previous Group Next"

	                xp:key="headerPager" id="pager1">

	            </xp:pager>

	        </xp:this.facets>

	        <xp:viewColumn columnName="view1" id="viewColumn1"

	            value="#{javascript:entry.getTitle()}">

	            <xp:viewColumnHeader id="viewColumnHeader1" value="Title"></xp:viewColumnHeader>

	        </xp:viewColumn>

	    </xp:viewPanel>

	</xp:view>

	

 


  • Actions Show Menu▼


expanded Attachments (0)
collapsed Attachments (0)
Edit the article to add or modify attachments.
expanded Versions (6)
collapsed Versions (6)
Version Comparison     
VersionDateChanged by              Summary of changes
This version (6)Nov 14, 2012, 8:06:28 AM~Justin Elwemarynds  
5Nov 14, 2012, 7:42:28 AM~Rebecca Minfreevitchobu  
4Nov 14, 2012, 6:37:25 AM~Rebecca Minfreevitchobu  
3Nov 14, 2012, 6:33:11 AM~Rebecca Minfreevitchobu  
2Nov 14, 2012, 5:46:34 AM~Rebecca Minfreevitchobu  
1Nov 14, 2012, 5:29:51 AM~Rebecca Minfreevitchobu  
expanded Comments (0)
collapsed Comments (0)
Copy and paste this wiki markup to link to this article from another article in this wiki.
Go ElsewhereStay ConnectedAbout
  • HCL Software
  • HCL Digital Solutions community
  • HCL Software support
  • BlogsDigital Solutions blog
  • Community LinkHCL Software forums and blogs
  • About HCL
  • Privacy
  • Accessibility